/*
 *	ME2 C++ SDK
 *	Copyright (c) 2010 _silencer
 *
 *	Permission is hereby granted, free of charge, to any person
 *	obtaining a copy of this software and associated documentation
 *	files (the "Software"), to deal in the Software without
 *	restriction, including without limitation the rights to use,
 *	copy, modify, merge, publish, distribute, sublicense, and/or sell
 *	copies of the Software, and to permit persons to whom the
 *	Software is furnished to do so, subject to the following
 *	conditions:
 *
 *	The above copyright notice and this permission notice shall be
 *	included in all copies or substantial portions of the Software.
 *
 *	THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 *	EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 *	OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 *	NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 *	HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 *	WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 *	FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 *	OTHER DEALINGS IN THE SOFTWARE.
 */

#include "stdafx.h"
#include "unreal_sdk.h"

namespace unreal
{
	IMPLEMENT_CORE_CLASS( uobject, uobject, Object )
		IMPLEMENT_CORE_CLASS( ucomponent, uobject, Component )
		IMPLEMENT_CORE_CLASS( utextbuffer, uobject, TextBuffer )
		IMPLEMENT_CORE_CLASS( ufield, uobject, Field )
			IMPLEMENT_CORE_CLASS( uenum, ufield, Enum )
			IMPLEMENT_CORE_CLASS( uconst, ufield, Const )
			IMPLEMENT_CORE_CLASS( uproperty, ufield, Property )
				IMPLEMENT_CORE_CLASS( ubyteproperty, uproperty, ByteProperty )
				IMPLEMENT_CORE_CLASS( uintproperty, uproperty, IntProperty )
				IMPLEMENT_CORE_CLASS( uboolproperty, uproperty, BoolProperty )
				IMPLEMENT_CORE_CLASS( ufloatproperty, uproperty, FloatProperty )
				IMPLEMENT_CORE_CLASS( uobjectproperty, uproperty, ObjectProperty )
					IMPLEMENT_CORE_CLASS( uclassproperty, uobjectproperty, ClassProperty )
					IMPLEMENT_CORE_CLASS( ucomponentproperty, uobjectproperty, ComponentProperty )
				IMPLEMENT_CORE_CLASS( unameproperty, uproperty, NameProperty )
				IMPLEMENT_CORE_CLASS( ustructproperty, uproperty, StructProperty )
				IMPLEMENT_CORE_CLASS( ustrproperty, uproperty, StrProperty )
				IMPLEMENT_CORE_CLASS( uarrayproperty, uproperty, ArrayProperty )
				IMPLEMENT_CORE_CLASS( umapproperty, uproperty, MapProperty )
				IMPLEMENT_CORE_CLASS( uinterfaceproperty, uproperty, InterfaceProperty )
				IMPLEMENT_CORE_CLASS( udelegateproperty, uproperty, DelegateProperty )
				IMPLEMENT_CORE_CLASS( ustringrefproperty, uproperty, StringRefProperty )
			IMPLEMENT_CORE_CLASS( ustruct, ufield, Struct )
				IMPLEMENT_CORE_CLASS( ufunction, ustruct, Function )
				IMPLEMENT_CORE_CLASS( ustate, ustruct, State )
					IMPLEMENT_CORE_CLASS( uclass, ustate, Class )
}
